package com.googlecode.wicketcharts.highcharts.options;

import java.awt.Color;
import java.util.List;

/**
 * Defines an Axis for a Highcharts chart.
 * 
 * @see <a
 *      href="http://api.highcharts.com/highcharts#xAxis">http://api.highcharts.com/highcharts#xAxis</a>
 * @see <a
 *      href="http://api.highcharts.com/highcharts#yAxis">http://api.highcharts.com/highcharts#yAxis</a>
 * @author Tom Hombergs (tom.hombergs@gmail.com)
 * 
 */
public abstract class Axis extends JsonObject {

	private static final long serialVersionUID = 1L;

	private AxisType type;

	private Title title;

	private List<String> categories;

	private Boolean allowDecimals;

	private Color alternateGridColor;

	private DummyOption dateTimeLabelFormats;

	private Boolean endOnTick;

	private DummyOption events;

	private Color gridLineColor;

	private GridLineDashStyle gridLineDashStyle;

	private Integer gridLineWidth;

	private String id;

	private DummyOption labels;

	private Color lineColor;

	private Integer lineWidth;

	private Integer linkedTo;

	private Integer max;

	private Float maxPadding;

	private Integer min;

	private Float minPadding;

	private Integer minRange;

	private Color minorGridLineColor;

	private GridLineDashStyle minorGridLineDashStyle;

	private Integer minorGridLineWidth;

	private Color minorTickColor;

	private Float minorTickInterval;

	private Integer minorTickLength;

	private Integer minorTickWidth;

	private Integer offset;

	private Boolean opposite;

	private List<PlotBands> plotBands;

	private List<PlotLines> plotLines;

	private Boolean reversed;

	private Boolean showEmpty;

	private Boolean showFirstLabel;

	private Boolean showLastLabel;

	private Integer startOfWeek;

	private Boolean startOnTick;

	private Color tickColor;

	private Float tickInterval;

	private Integer tickLength;

	private Integer tickPixelInterval;

	private TickPosition tickPosition;

	private Integer tickWidth;

	private TickmarkPlacement tickmarkPlacement;

	public void setTitle(Title title) {
		this.title = title;
	}

	public Title getTitle() {
		return title;
	}

	public void setType(AxisType type) {
		this.type = type;
	}

	public AxisType getType() {
		return type;
	}

	public void setCategories(List<String> categories) {
		this.categories = categories;
	}

	public List<String> getCategories() {
		return categories;
	}

	public Boolean getAllowDecimals() {
		return allowDecimals;
	}

	public void setAllowDecimals(Boolean allowDecimals) {
		this.allowDecimals = allowDecimals;
	}

	public Color getAlternateGridColor() {
		return alternateGridColor;
	}

	public void setAlternateGridColor(Color alternateGridColor) {
		this.alternateGridColor = alternateGridColor;
	}

	public DummyOption getDateTimeLabelFormats() {
		return dateTimeLabelFormats;
	}

	public void setDateTimeLabelFormats(DummyOption dateTimeLabelFormats) {
		this.dateTimeLabelFormats = dateTimeLabelFormats;
	}

	public Boolean getEndOnTick() {
		return endOnTick;
	}

	public void setEndOnTick(Boolean endOnTick) {
		this.endOnTick = endOnTick;
	}

	public DummyOption getEvents() {
		return events;
	}

	public void setEvents(DummyOption events) {
		this.events = events;
	}

	public Color getGridLineColor() {
		return gridLineColor;
	}

	public void setGridLineColor(Color gridLineColor) {
		this.gridLineColor = gridLineColor;
	}

	public GridLineDashStyle getGridLineDashStyle() {
		return gridLineDashStyle;
	}

	public void setGridLineDashStyle(GridLineDashStyle gridLineDashStyle) {
		this.gridLineDashStyle = gridLineDashStyle;
	}

	public Integer getGridLineWidth() {
		return gridLineWidth;
	}

	public void setGridLineWidth(Integer gridLineWidth) {
		this.gridLineWidth = gridLineWidth;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public DummyOption getLabels() {
		return labels;
	}

	public void setLabels(DummyOption labels) {
		this.labels = labels;
	}

	public Color getLineColor() {
		return lineColor;
	}

	public void setLineColor(Color lineColor) {
		this.lineColor = lineColor;
	}

	public Integer getLineWidth() {
		return lineWidth;
	}

	public void setLineWidth(Integer lineWidth) {
		this.lineWidth = lineWidth;
	}

	public Integer getLinkedTo() {
		return linkedTo;
	}

	public void setLinkedTo(Integer linkedTo) {
		this.linkedTo = linkedTo;
	}

	public Integer getMax() {
		return max;
	}

	public void setMax(Integer max) {
		this.max = max;
	}

	public Float getMaxPadding() {
		return maxPadding;
	}

	public void setMaxPadding(Float maxPadding) {
		this.maxPadding = maxPadding;
	}

	public Integer getMin() {
		return min;
	}

	public void setMin(Integer min) {
		this.min = min;
	}

	public Float getMinPadding() {
		return minPadding;
	}

	public void setMinPadding(Float minPadding) {
		this.minPadding = minPadding;
	}

	public Integer getMinRange() {
		return minRange;
	}

	public void setMinRange(Integer minRange) {
		this.minRange = minRange;
	}

	public Color getMinorGridLineColor() {
		return minorGridLineColor;
	}

	public void setMinorGridLineColor(Color minorGridLineColor) {
		this.minorGridLineColor = minorGridLineColor;
	}

	public GridLineDashStyle getMinorGridLineDashStyle() {
		return minorGridLineDashStyle;
	}

	public void setMinorGridLineDashStyle(
			GridLineDashStyle minorGridLineDashStyle) {
		this.minorGridLineDashStyle = minorGridLineDashStyle;
	}

	public Integer getMinorGridLineWidth() {
		return minorGridLineWidth;
	}

	public void setMinorGridLineWidth(Integer minorGridLineWidth) {
		this.minorGridLineWidth = minorGridLineWidth;
	}

	public Color getMinorTickColor() {
		return minorTickColor;
	}

	public void setMinorTickColor(Color minorTickColor) {
		this.minorTickColor = minorTickColor;
	}

	public Float getMinorTickInterval() {
		return minorTickInterval;
	}

	public void setMinorTickInterval(Float minorTickInterval) {
		this.minorTickInterval = minorTickInterval;
	}

	public Integer getMinorTickLength() {
		return minorTickLength;
	}

	public void setMinorTickLength(Integer minorTickLength) {
		this.minorTickLength = minorTickLength;
	}

	public Integer getMinorTickWidth() {
		return minorTickWidth;
	}

	public void setMinorTickWidth(Integer minorTickWidth) {
		this.minorTickWidth = minorTickWidth;
	}

	public Integer getOffset() {
		return offset;
	}

	public void setOffset(Integer offset) {
		this.offset = offset;
	}

	public Boolean getOpposite() {
		return opposite;
	}

	public void setOpposite(Boolean opposite) {
		this.opposite = opposite;
	}

	public Boolean getReversed() {
		return reversed;
	}

	public void setReversed(Boolean reversed) {
		this.reversed = reversed;
	}

	public Boolean getShowEmpty() {
		return showEmpty;
	}

	public void setShowEmpty(Boolean showEmpty) {
		this.showEmpty = showEmpty;
	}

	public Boolean getShowFirstLabel() {
		return showFirstLabel;
	}

	public void setShowFirstLabel(Boolean showFirstLabel) {
		this.showFirstLabel = showFirstLabel;
	}

	public Boolean getShowLastLabel() {
		return showLastLabel;
	}

	public void setShowLastLabel(Boolean showLastLabel) {
		this.showLastLabel = showLastLabel;
	}

	public Integer getStartOfWeek() {
		return startOfWeek;
	}

	public void setStartOfWeek(Integer startOfWeek) {
		this.startOfWeek = startOfWeek;
	}

	public Boolean getStartOnTick() {
		return startOnTick;
	}

	public void setStartOnTick(Boolean startOnTick) {
		this.startOnTick = startOnTick;
	}

	public Color getTickColor() {
		return tickColor;
	}

	public void setTickColor(Color tickColor) {
		this.tickColor = tickColor;
	}

	public Float getTickInterval() {
		return tickInterval;
	}

	public void setTickInterval(Float tickInterval) {
		this.tickInterval = tickInterval;
	}

	public Integer getTickLength() {
		return tickLength;
	}

	public void setTickLength(Integer tickLength) {
		this.tickLength = tickLength;
	}

	public Integer getTickPixelInterval() {
		return tickPixelInterval;
	}

	public void setTickPixelInterval(Integer tickPixelInterval) {
		this.tickPixelInterval = tickPixelInterval;
	}

	public TickPosition getTickPosition() {
		return tickPosition;
	}

	public void setTickPosition(TickPosition tickPosition) {
		this.tickPosition = tickPosition;
	}

	public Integer getTickWidth() {
		return tickWidth;
	}

	public void setTickWidth(Integer tickWidth) {
		this.tickWidth = tickWidth;
	}

	public TickmarkPlacement getTickmarkPlacement() {
		return tickmarkPlacement;
	}

	public void setTickmarkPlacement(TickmarkPlacement tickmarkPlacement) {
		this.tickmarkPlacement = tickmarkPlacement;
	}

	public List<PlotBands> getPlotBands() {
		return plotBands;
	}

	public void setPlotBands(List<PlotBands> plotBands) {
		this.plotBands = plotBands;
	}

	public List<PlotLines> getPlotLines() {
		return plotLines;
	}

	public void setPlotLines(List<PlotLines> plotLines) {
		this.plotLines = plotLines;
	}

}
